-
Notifications
You must be signed in to change notification settings - Fork 11
Diffusion bits #311
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: development
Are you sure you want to change the base?
Diffusion bits #311
Conversation
solver updates -Add a diffusion solver -symbolic ddt -Eulerian ddt CM updates -Anisotropic diffusion CM -Flux CM, allowing flux terms to be passed directly into the solver
Functions now appear correctly in the view() function
Folded into solvers.py
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR introduces new diffusion functionality, including a diffusion solver, a generic flux constitutive model, and an anisotropic diffusion constitutive model, along with Eulerian and symbolic strategies for history management.
- Adds SNES_Diffusion class and integrates Eulerian and Symbolic history methods in solvers.
- Updates module initializers to expose the new diffusion solver.
- Extends maths functions with an L2_norm function and introduces new constitutive models for anisotropic diffusion and generic flux.
Reviewed Changes
Copilot reviewed 6 out of 6 changed files in this pull request and generated no comments.
Show a summary per file
File | Description |
---|---|
src/underworld3/systems/solvers.py | Adds SNES_Diffusion with new history management and solver setup |
src/underworld3/systems/init.py | Exposes the new diffusion-only solver and relevant DDt imports |
src/underworld3/maths/functions.py | Introduces a new L2_norm function for norm computations |
src/underworld3/maths/init.py | Imports the new L2_norm function |
src/underworld3/constitutive_models.py | Adds AnisotropicDiffusionModel and GenericFluxModel to support diffusion properties |
Comments suppressed due to low confidence (1)
src/underworld3/systems/init.py:37
- The module imports 'SemiLagragian_DDt' but elsewhere the union types and similar imports use the name 'SemiLagrangian_DDt'. Consider aligning the naming for consistency.
from .ddt import SemiLagragian_DDt
@bknight1 - 2 tests are failing. I think the first one is a @lmoresi issue. The second one I'm not sure about. Do you know anything about it? Also the testing script isn't failing on test errors - this needs fixing! |
@julesghub the advDiff test is the old one, which was failing for the reviewers of the joss paper. I updated the test there but don't think it's been merged. I'll update it for this branch now. |
Aligns with the already updated test in the joss paper branch
…into BK-diffusion
I'm happy to look at the bugs I introduced ! |
Add in: